package com.zzl.study.demo.config;

import com.zzl.study.demo.tool.TodoItemService;
import org.springframework.ai.tool.ToolCallbackProvider;
import org.springframework.ai.tool.method.MethodToolCallbackProvider;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * MCP服务端配置类
 *
 * @author: zhangzl
 * @date: 2025/10/14 15:34
 * @version: 1.0
 */
@Configuration
public class NacosMcpServer2Config {

    /**
     * 向Spring容器中注入一个待办事项服务
     *
     * @return 待办事项服务
     */
    @Bean
    public TodoItemService todoItemService() {
        return new TodoItemService();
    }

    /**
     * 向Spring容器中注入一个MCP工具服务提供者
     *
     * @param todoItemService MCP待办事项服务端对象
     * @return MCP工具服务提供者
     */
    @Bean
    public ToolCallbackProvider weatherTools(TodoItemService todoItemService) {
        return MethodToolCallbackProvider.builder().toolObjects(todoItemService).build();
    }

}
